home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / B-Book Series / (k)b6.d64 / sid.l < prev    next >
Text File  |  2007-02-28  |  1KB  |  52 lines

  1. 9000 FUNC SID 
  2. 9010 RETURN 54272
  3. 9020 ENDFUNC SID
  4. 9030 //
  5. 9040 PROC ADSR(ATTACK,DECAY,SUSTAIN,RELEASE) 
  6. 9050 POKE SID+5,ATTACK*16+DECAY
  7. 9060 POKE SID+6,SUSTAIN*16+RELEASE
  8. 9070 ENDPROC ADSR
  9. 9080 //
  10. 9090 PROC FILTER(FREQ,HP,BP,LP,RES) CLOSED
  11. 9100 POKE SID+21,FREQ MOD 8
  12. 9110 POKE SID+22,FREQ DIV 8
  13. 9120 POKE SID+23,RES*16+1
  14. 9130 NUM:=PEEK(1022) MOD 16
  15. 9140 NUM:+HP*64+BP*32+LP*16
  16. 9150 POKE SID+24,NUM
  17. 9160 POKE 1022,NUM
  18. 9170 ENDPROC FILTER
  19. 9180 //
  20. 9190 PROC PULSE(FREQ) CLOSED
  21. 9200 SID:=54272
  22. 9210 POKE SID+2,FREQ MOD 256
  23. 9220 POKE SID+3,FREQ DIV 256
  24. 9230 ENDPROC PULSE
  25. 9240 //
  26. 9250 PROC VOLUME(LEVEL) CLOSED
  27. 9260 NUM:=PEEK(1022) DIV 16
  28. 9270 NUM:+LEVEL
  29. 9280 POKE SID+24,NUM
  30. 9290 POKE 1022,NUM
  31. 9300 ENDPROC VOLUME
  32. 9310 //
  33. 9320 PROC WAVEFORM(TYPE$,RING,SYNC) CLOSED
  34. 9330 CASE TYPE$ OF
  35. 9340 WHEN "T"
  36. 9350 NUM:=16
  37. 9360 WHEN "S"
  38. 9370 NUM:=32
  39. 9380 WHEN "P"
  40. 9390 NUM:=64
  41. 9400 WHEN "N"
  42. 9410 NUM:=128
  43. 9420 OTHERWISE 
  44. 9430 PRINT TYPE$," IS NOT A VALID WAVEFORM"
  45. 9440 CLOSE
  46. 9450 STOP 
  47. 9460 ENDCASE 
  48. 9470 NUM:+RING*4+SYNC*2
  49. 9480 POKE SID+4,NUM
  50. 9490 POKE 1023,NUM
  51. 9500 ENDPROC WAVEFORM
  52.